package com.qingchunlin.blogsystem.common.utils;

import org.springframework.util.DigestUtils;

import java.util.UUID;

public class SecurityUtils {
    /**
     * 加密
     * @param password
     * @return
     */
    public static String encry(String password) {
        //生成随机盐值
        String salt = UUID.randomUUID().toString().replace("-", "");
        //加密,盐值 + 明文密码
        String finalPassword = DigestUtils.md5DigestAsHex((salt + password).getBytes());
        //数据库中存储   盐值+密文
        return salt + finalPassword;
    }

    /**
     * 验证
     * @param password
     * @param finalPassword
     * @return
     */
    public static boolean verify(String password, String finalPassword) {
        if (password == null || finalPassword == null || finalPassword.length() != 64) {
            return false;
        }

        //取出盐值
        String salt = finalPassword.substring(0, 32);
        //进行校验
        return (salt + DigestUtils.md5DigestAsHex((salt + password).getBytes())).equals(finalPassword);
    }
}
